#导入岭回归模型、糖尿病数据集及划分样本的方法
from sklearn.linear_model import Ridge
from sklearn.datasets import load_diabetes 
from sklearn.model_selection import train_test_split 

#将数据集划分为训练集和测试集
x,y=load_diabetes().data,load_diabetes().target
x_train,x_test,y_train,y_test=train_test_split(x,y,random_state=8)

#训练模型
model=Ridge(alpha=80)                       #alpha值越小越像线性回归
model.fit(x_train,y_train)

#评估模型，计算模型的预测准确率
r21=model.score(x_train,y_train)
r22=model.score(x_test,y_test)

#输出模型的预测准确率
print("模型在训练集上的预测准确率为：",r21)
print("模型在测试集上的预测准确率为：",r22)


#把alpha值设置为0.1之后，模型在训练集上的预测准确率就略低于线性回归，但在测试集上的预测准确率却有所提升。
# 如果alpha值非常小，那么系统的限制几乎可以忽略不计，得到的结果也会非常接近线性回归。